<?php
error_reporting(E_ALL);
ini_set('display_errors','off');

include_once "ConexionBD.php";
//include_once "../datos/ClienteSQL.php";

class AdministrativoSQL{

    function AdministrativoSQL() {$this->sql = ConexionBD::getInstancia();}

   public function buscarDatos(&$obj){

        $sql=   "SELECT *
                FROM PERSONA p, FUNCIONARIO f, ADMINISTRATIVO a
                WHERE a.estado= true and p.rut = f.rut and p.rut = a.rut and a.rut like '%".$obj->getRut()."%'
                AND UPPER(p.nombre) like UPPER('%".$obj->getNombres()."%')
                AND UPPER(p.apellido_p) like UPPER('%".$obj->getApellido_p()."%') 
                AND UPPER(p.apellido_m) like UPPER('%".$obj->getApellido_m()."%')";
             
        $resultado = $this->sql->ejecutarSql($sql);
        return $resultado;
    }
    
    public function ingresarDatos(&$obj){
	
        $conn = $this->sql->getConexion();
        
	$sql="select rut from PERSONA where rut ='".$obj->getRut()."'";
        $resultado = array();
        $resultado = $this->sql->ejecutarSql($sql);
        if (isset($resultado[0][0]) && $resultado[0][0]==$obj->getRut()){
            //die("Error de conexion. ". pg_last_error());
            return 0;
        }
        
        $sql="insert into PERSONA values('".$obj->getRut()."', '".$obj->getApellido_m()."', '".$obj->getApellido_p()."', '".$obj->getDireccion()."', '".$obj->getEmail()."', '".$obj->getNombres()."', '".$obj->getTelefono()."', '".$obj->getCiudad()."' ) 
            ; insert into FUNCIONARIO values('".$obj->getRut()."', '".$obj->getRut_notaria()."', '".$obj->getCargo()."', '".$obj->getPassword()."' )
            ; insert into ADMINISTRATIVO values('".$obj->getRut()."', '".$obj->getEstado()."', '".$obj->getVhora()."', '".$obj->getVhoraextra()."', '".$obj->getSueldobase()."')";
        
        
        if (!pg_query( $conn , $sql )){
            die("Error de conexion. ". pg_last_error());
        }
        pg_close($conn);
        return 1;
    }
    
    public function modificarDatos(&$obj){
	
        $sql=   "UPDATE PERSONA
                SET apellido_m='".$obj->getApellido_m()."', apellido_p='".$obj->getApellido_p()."', direccion='".$obj->getDireccion()."', email='".$obj->getEmail()."', nombre='".$obj->getNombres()."', telefono='".$obj->getTelefono()."', ciudad='".$obj->getCiudad()."' 
                WHERE rut='".$obj->getRut()."'
                ;UPDATE FUNCIONARIO
                SET rut_notaria='".$obj->getRut_notaria()."', cargo='".$obj->getCargo()."', password='".$obj->getPassword()."'
                WHERE rut='".$obj->getRut()."'                
                ;UPDATE ADMINISTRATIVO
                SET estado='".$obj->getEstado()."', vhora='".$obj->getVhora()."', vhoraextra='".$obj->getVhoraextra()."', sueldobase='".$obj->getSueldobase()."'
                WHERE rut='".$obj->getRut()."'";
        
        $conn = $this->sql->getConexion();
        if (!pg_query( $conn , $sql )){
            die("Error de conexion. ". pg_last_error());
        }
        pg_close($conn);
    }
    
     public function deshabilitarDatos(&$obj)
    {
	//echo "<br>Nombre a borrar: ".$obj->getNombres();
        $sql=   "UPDATE ADMINISTRATIVO SET estado=false WHERE rut ='".$obj->getRut()."'";
        //echo"<br>$sql<br>";
        $conn = $this->sql->getConexion();
        if (!pg_query( $conn , $sql )){
            die("Error de conexion. ". pg_last_error());
        }
        pg_close($conn);
    }
    
   public function listarAdministrativosCategoria($fecha_desde, $fecha_hasta){

        $sql=   "select distinct a.rut, p.nombre, p.apellido_p, p.apellido_m, a.estado, count(d.rut) AS nro_documentos
                from administrativo a, persona p, documento d 
                where a.rut = p.rut and d.rut=a.rut and d.fecha_creacion >= '%".$fecha_desde."%' and d.fecha_creacion <= '%".$fecha_hasta."%'
                group by a.rut, p.nombre, p.apellido_p, p.apellido_m, a.estado
                order by nro_documentos";
             
        $resultado = $this->sql->ejecutarSql($sql);
        return $resultado;
    }
    
}

?>